home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / yerk / mps231ss.hqx / Mops source / Nuc source / Nuc.asm < prev    next >
Assembly Source File  |  1992-10-24  |  3KB  |  101 lines

  1. ; MOPS - Mike's Object-oriented Programming System.
  2. ; The language is a close relative of Neon¬ (now discontinued).
  3.  
  4.  
  5.     fsign    'MOPS'    ; We've got to put this somewhere
  6.             ; in the assembly!
  7.  
  8.     M68030
  9.  
  10.     jtbl    comma,wcomma,ncomma,swap,pcomp,length,doPAtAbs,star,slash,main
  11.  
  12.     ref    handlers
  13.  
  14.     ipath    "::mops source:nuc source:"
  15.  
  16.     IF1
  17.     incl    "macrox.asm"
  18.     incl    "globals.psm"
  19.     ENDI
  20.  
  21.     incl    "Defn.asm"
  22.     incl    "OD.asm"
  23.     incl    "Nuc1.asm"
  24.     incl    "Nuc2.asm"
  25.  
  26.  
  27. ; From LATEST on, saved dictionary images OVERLAP the assembled
  28. ; nucleus.  All defined words should be at exactly the same locations.
  29. ; The quantities here are all those which need to "stick" to what they
  30. ; were set in the saved image.
  31.  
  32.     valu    6,LATEST,latest                ; LATEST
  33.     valu    8,CURR-DEF,currDef                ; CURR-DEF
  34.     valu    2,DP,dp                ; DP
  35.     valu    5,FENCE,fence,lastname-base            ; FENCE
  36.     valu    9,WARNINGS?,warnings                ; WARNINGS?
  37.     valu    7,USEFPU?,useFPUq                ; UseFPU?
  38.  
  39.     head    6,FEVENT,fEvent,doObj            ; FEVENT
  40.     byte    18    ; ivars space
  41.     dc.w    4    ; indexed elt width
  42.     dc.l    23    ; #elts - 1
  43.     byte    4*24    ; allocate space for them
  44.  
  45.     head    3,FAE,fAE,doObj                ; FAE
  46.     long
  47.  
  48.     head    6,FPRECT,fPrect,doObj            ; FPRECT
  49.     rect    1
  50.  
  51.     head    6,FDRECT,fdrect,doObj            ; FDRECT
  52.     rect    1
  53.  
  54.  
  55.     svec    5,UFIND,ufind,vfalse                ; UFIND
  56.     svec    5,FNUM?,Fnumq,vfalse                ; FNUM?
  57.     svec    13,NUMACCUMULATE,numAccumulate,pNumAccumulate    ; NumAccumulate
  58.     svec    3,KEY,key,pkey                ; KEY
  59.     svec    4,KEY!,keyst,pkeyst                ; KEY!
  60.     svec    5,PAUSE,pause                ; PAUSE
  61.     svec    6,?PAUSE,qPause                ; ?PAUSE
  62.     svec    8,GETSPACE,getspace,vfalse            ; GETSPACE
  63.     svec    6,RNGERR,rngErr                ; RNGERR
  64.     svec    4,$ERR,strErr,abort                ; $ERR
  65.     svec    8,ARITHERR,ArithErr,abort            ; ArithErr
  66.     svec    7,OBJINIT,objinit                ; OBJINIT
  67.     svec    11,EXTRA_INITS,extrainits            ; EXTRA_INITS
  68.     svec    8,ABORTVEC,abortvec                ; ABORTVEC
  69.     svec    7,QUITVEC,quitvec                ; QUITVEC
  70.     svec    8,SETFWIND,setFwind                ; SETFWIND
  71.     svec    8,DFLT-DIE,dfltDie,dfltErr            ; Dflt-DIE
  72.     svec    4,TSTR,tstr,drop
  73.     svec    7,FREFILL,Frefill                ; FREFILL
  74.     svec    7,MODLOAD,modLoad                ; MODLOAD
  75.     svec    6,TEIDLE,TEidle                ; TEIDLE
  76.     svec    10,COMPINLINE,compinline            ; COMPINLINE
  77.  
  78.     svec    10,OPENAPPVEC,OpenAppVec,vfalse            ; OpenAppVec
  79.     svec    10,OPENDOCVEC,OpenDocVec,OpenMopsDic        ; OpenDocVec
  80.     svec    11,PRINTDOCVEC,PrintDocVec,OpenMopsDic        ; PrintDocVec
  81.     svec    10,QUITAPPVEC,QuitAppVec,bye            ; QuitAppVec
  82.     svec    11,READ1DOCVEC,Read1DocVec,ReadDic        ; Read1DocVec
  83.  
  84.  
  85. lastname    equ    *+2
  86.  
  87.     varbl    7,CONTEXT,context
  88.  
  89.     dc.l    q0+d-*
  90.     dc.l    q1+d-*
  91.     dc.l    q2+d-*
  92.     dc.l    q3+d-*
  93.     dc.l    q4+d-*
  94.     dc.l    q5+d-*
  95.     dc.l    q6+d-*
  96.     dc.l    q7+d-*
  97.  
  98.  
  99. start_dp            ; We use this to set the initial DP value
  100. NucTop            ; Marks the end of this assembly
  101.